package com.rongji.cms.tools.temp.xsd;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author yang
 * @date 2023/1/6 15:15
 * @description
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class XSDNode {

    /**
     * 节点名称
     */
    @ExcelProperty("节点名称(name)")
    @ColumnWidth(40)
    String elementName;
    /**
     * 节点类型
     */
    @ExcelProperty("节点类型(type)")
    @ColumnWidth(40)
    String elementType;
    /**
     * 节点描述
     */
    @ExcelProperty("节点描述(documentation)")
    @ColumnWidth(40)
    String documentation;

    /**
     * 节点最小值
     */
    @ExcelProperty("节点最小值(minOccurs)")
    @ColumnWidth(40)
    String elementMinOccurs;
    /**
     * 节点最大值
     * 目前没值，导出时先忽略
     */
    @ExcelProperty("节点最大值(maxOccurs)")
    @ColumnWidth(40)
    @ExcelIgnore
    String elementMaxOccurs;
    /**
     * 条件约束名称
     */
    @ExcelProperty("条件约束名称(name)")
    @ColumnWidth(40)
    String restrictionName;
    /**
     * 条件约束值值
     */
    @ExcelProperty("条件约束值(value)")
    @ColumnWidth(40)
    String restrictionValue;

    /**
     * 条件约束基本类型
     */
    @ExcelProperty("条件约束基本类型(base)")
    @ColumnWidth(40)
    String restrictionBase;

//    @Override
//    public String toString() {
//        final StringBuffer sb = new StringBuffer("XSDNode{");
//        sb.append("elementName='").append(elementName).append('\'');
//        sb.append(", elementType='").append(elementType).append('\'');
//        sb.append(", documentation='").append(documentation).append('\'');
//        sb.append(", elementMinOccurs='").append(elementMinOccurs).append('\'');
//        sb.append(", elementMaxOccurs='").append(elementMaxOccurs).append('\'');
//        sb.append(", restrictionName='").append(restrictionName).append('\'');
//        sb.append(", restrictionValue='").append(restrictionValue).append('\'');
//        sb.append(", restrictionBase='").append(restrictionBase).append('\'');
//        sb.append('}');
//        return sb.toString();
//    }
//
//
//    public String getElementName() {
//        return elementName;
//    }
//
//    public void setElementName(String elementName) {
//        this.elementName = elementName;
//    }
//
//    public String getElementType() {
//        return elementType;
//    }
//
//    public void setElementType(String elementType) {
//        this.elementType = elementType;
//    }
//
//    public String getDocumentation() {
//        return documentation;
//    }
//
//    public void setDocumentation(String documentation) {
//        this.documentation = documentation;
//    }
//
//    public String getRestrictionBase() {
//        return restrictionBase;
//    }
//
//    public void setRestrictionBase(String restrictionBase) {
//        this.restrictionBase = restrictionBase;
//    }
//
//    public String getElementMinOccurs() {
//        return elementMinOccurs;
//    }
//
//    public void setElementMinOccurs(String elementMinOccurs) {
//        this.elementMinOccurs = elementMinOccurs;
//    }
//
//    public String getElementMaxOccurs() {
//        return elementMaxOccurs;
//    }
//
//    public void setElementMaxOccurs(String elementMaxOccurs) {
//        this.elementMaxOccurs = elementMaxOccurs;
//    }
//
//    public String getRestrictionName() {
//        return restrictionName;
//    }
//
//    public void setRestrictionName(String restrictionName) {
//        this.restrictionName = restrictionName;
//    }
//
//    public String getRestrictionValue() {
//        return restrictionValue;
//    }
//
//    public void setRestrictionValue(String restrictionValue) {
//        this.restrictionValue = restrictionValue;
//    }
//
//
//    public XSDNode() {
//
//    }
//
//    public XSDNode(String elementName, String elementType, String documentation, String restrictionBase, String elementMinOccurs,
//                   String elementMaxOccurs, String restrictionName, String restrictionValue) {
//        this.elementName = elementName;
//        this.elementType = elementType;
//        this.documentation = documentation;
//        this.restrictionBase = restrictionBase;
//        this.elementMinOccurs = elementMinOccurs;
//        this.elementMaxOccurs = elementMaxOccurs;
//        this.restrictionName = restrictionName;
//        this.restrictionValue = restrictionValue;
//    }


}

